export interface UserInfo {
  id?: number;
  name?: string;
  nickName?: string;
  avatar?: string;
  password?: string;
  salt?: string;
  email?: string;
  mobile?: string;
  status?: number;
  deptId?: number;
  createBy?: string;
  createTime?: string;
  lastUpdateBy?: string;
  lastUpdateTime?: string;
  delFlag?: number;
  jobId?: number;
  roleId?: number;
  roleName?: string;
  jobName?: string;
  deptName?: string;
  url?: string;
}

export interface MenuTree {
  id: number;
  path: string;
  name: string;
  parentId: number;
  icon?: string;
}

export interface Meta {
  title: string;
  icon: string;
}

export interface MenuTreeVue {
  id: number;
  parentId: number;
  title: string;
  path?: string;
  name: string;
  icon?: string;
  redirect?: string;
  component?: string;
  meta?: Meta;
  children?: MenuTree
}

export interface TenantRelaList {
  id: number;
  tenantName: string;
}

/**
 * 登录用户信息
 */
export interface Root {
  code: string;
  message: string;
  avatar: string;
  name: string;
  userInfo: UserInfo;
  menuTree: MenuTree[];
  menuTreeVue: MenuTreeVue[];
  tenantRelaList: TenantRelaList[];
}

/**
 * 用户查询对象类型
 */
export interface UserQuery extends PageQuery {
  keywords?: string;
  status?: number;
  deptId?: number;
  name?: string;
  mobile?: string;
}

/**
 * 用户分页对象
 */
export interface UserPageVO {
  /**
   * 用户头像地址
   */
  avatar?: string;
  /**
   * 创建时间
   */
  createTime?: Date;
  /**
   * 部门名称
   */
  deptName?: string;
  /**
   * 用户邮箱
   */
  email?: string;
  /**
   * 性别
   */
  genderLabel?: string;
  /**
   * 用户ID
   */
  id?: number;
  /**
   * 手机号
   */
  mobile?: string;
  /**
   * 用户昵称
   */
  nickName?: string;
  /**
   * 角色名称，多个使用英文逗号(,)分割
   */
  roleNames?: string;
  /**
   * 用户状态(1:启用;0:禁用)
   */
  status?: number | string;
  /**
   * 用户名
   */
  name?: string;
}

/**
 * 用户表单类型
 */
export interface UserForm {

  /**
   * 部门ID
   */
  deptId?: number;
  password?: string;
  /**
   * 邮箱
   */
  email?: string;
  jobId?: number;
  /**
   * 用户ID
   */
  id?: number;
  mobile?: string;
  /**
   * 昵称
   */
  nickName?: string;
  /**
   * 角色ID集合
   */
  roleId?: number;
  /**
   * 用户状态(1:正常;0:禁用)
   */
  status?: number;
  /**
   * 用户名
   */
  name?: string;
  /**
  * 租户id
  */
  tenantRela?: string;

  tenantRelaArr?: number[];
}

/**
 * 修改密码
 */
export interface UserPassForm {
  /**
   * id
  */
  id: number;
  /**
   * 新密码
  */
  newPassword: string;
  /**
  * 旧密码
  */
  oldPassword: string;
  /**
  * 确认密码
  */
  comPassword?: string;
}

/**
 * 手机验证行为
 */
export interface CodeForm {
  /**
 * 手机号
 */
  mobile?: string;
  /**
  * 密码
  */
  verifyCode?: string;
}


/**
 * 通过手机验证行为重置密码
 */
export interface PostNewsPasswordForm {
  /**
 * 手机号
 */
  mobile: string;
  /**
  * 密码
  */
  password: string;
  /**
  * 手机号
  */
  sign: string;
}